package org.xandroid.util;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;

/**
 * 操作SharedPreference的助手类
 * @author Kross(krossford@foxmail.com)
 * @date 2014-3-26 16:18:20
 * */
public class XSpHelper {
	
	private static XSpHelper instance = null;
	
	private Context context = null;
	private String sharedPreferencesName;
	private SharedPreferences sharedPreferences = null;
	private Editor editor = null;
	
	/**
	 * 构造方法
	 * @param spName Context.getSharedPreferences(String, int)第一个参数用到的字符串
	 * @param c 一个上下文对象
	 * @date 2014-3-26 16:35:24
	 * */
	private XSpHelper(String spName, Context c) {
		context = c;
		sharedPreferencesName = spName;
		sharedPreferences = context.getSharedPreferences(sharedPreferencesName, Context.MODE_PRIVATE);
		editor = sharedPreferences.edit();
	}
	
	/**
	 * 获取唯一实例
	 * @param spName Context.getSharedPreferences(String, int)第一个参数用到的字符串
	 * @param c 一个上下文对象
	 * @return 返回一个XSpHelper对象
	 * @date 2014-3-26 16:35:13
	 * */
	public static XSpHelper getInstance(String spName, Context c) {
		if (instance == null) {
			instance = new XSpHelper(spName, c);
		}
		return instance;
	}
	
	/**
	 * 获取SharedPreference对象，在外部来具体调用sharedPreference的方法
	 * @return 返回一个初始化好的SharedPreference对象
	 * @date 2014-3-26 16:35:05
	 * */
	public SharedPreferences getSp() {
		return sharedPreferences;
	}
	
	/**
	 * 获取Editor对象，用于外部具体调用
	 * @return 返回一个初始化好的Editor对象
	 * @date 2014-3-26 16:36:28
	 * */
	public Editor getEditor() {
		return editor;
	}
}
